<?php
	
	/* Ce fichier est une version modifiee de la page etudiant permettant a un DDE
	 * de se connecter en tant qu'etudiant sans pouvoir saisir de notes (juste 
	 * pour visualiser les notes de l'etudiant)
	 */
	
	include_once "../../php/inc/defines.php";
	include_once "../../php/auth.php";
	include_once "../layout.php";
	include_once "../../php/treenode.php";
	include_once "../../php/formhandler.php";
	include_once "../../php/gestionnaireEtuMoy.php";
	include_once "../../php/sqlhandler.php";
	
	session_start();
	auth::secure(DDE);
	
	$tabs = array("Gestion des notes", "etuviewer.php");
	layout::displayPageHeader($tabs, $tabs[0], TRUE, "treediv1");
	
?>
<div class="arborescence" id="treeViewDiv">
	<?php
		
		if(!isset($_SESSION["etuTree"]) || isset($_GET['login'])) {
			//arbre des examens de l'etudiant
			$sql = "SELECT id_etud FROM ".ETUDIANT_TABLE." WHERE login=\"".$_GET['login']."\";"; //on recupere d'abord l'ID de l'etudiant
			$db = new PDO(SERVER.":host=".HOST.";dbname=".BASE, USER, PASS);
			$st = $db->prepare($sql);
			$st->execute();
			$ligne = $st->fetch(PDO::FETCH_ASSOC); //il n'y a qu'une ligne de retournee puisque login est unique
			$id = $ligne["id_etud"];
					
			//recuperation de l'arbre (UE d'abord) (TODO: reecrire cette requete avec les constantes de table)
			$sql = "select UE.id_ue, UE.nom_ue, Module.id_module, Module.nom_module, Examen.id_examen, Examen.nom_examen from Examen left join Module on Examen.id_module=Module.id_module left join UE on Module.id_ue=UE.id_ue where UE.id_sem IN (select distinct Semestre.id_sem from Etudiant left join Groupe_TP on Etudiant.id_grptp=Groupe_TP.id_grptp left join Groupe_TD on Groupe_TP.id_grptd=Groupe_TD.id_grptd left join Semestre on Groupe_TD.id_sem=Semestre.id_sem where Etudiant.id_etud=".$id.");";
			$etuTree = new treenode($_GET['login'], NULL, NULL);
			$etuTree->fetchResultSet($sql);
			$etuTree->createTreeFromResultSet();
					
			//ajout des modules de parcours a l'arbre (TODO: reecrire cette requete avec les constantes de table)
			$sql = "select Parcours.id_parcours, Parcours.nom_parcours, Module.id_module, Module.nom_module, Examen.id_examen, Examen.nom_examen from Examen left join Module on Examen.id_module=Module.id_module left join Parcours on Module.id_parcours=Parcours.id_parcours where Parcours.id_parcours IN (select id_parcours from Etudiant where Etudiant.id_etud=".$id.");";
			$parcours = new treenode("subtree", NULL, NULL);
			$parcours->fetchResultSet($sql);
			$parcours->createTreeFromResultSet();
					
			if(!$parcours->hasNoChilds()) { //si l'etudiant est inscrit a un parcours, on ajoute ce parcours et ses modules a l'arbre
				$sub = reset($parcours->getChildNodes()); //reset() prend le premier element de l'array (fix pour le serveur de l'IUT)
				$sub->setSpecialType("p");
				$etuTree->addChildNode($sub); //on ne peut etre inscrit qu'a un parcours a la foix, il n'y a donc ici qu'une seule node dans l'arbre a l'indice 0
			}
					
			$_SESSION["etuTree"] = serialize($etuTree);
			$_SESSION["idEtud"] = $id;
			$tree1 = $etuTree;
		}
		else
			$tree1 = unserialize($_SESSION["etuTree"]);
		treenode::treeToHtml($tree1, ETUDIANT_1, 2);
		
	?>
</div>
<div class="content">
	<?php
		
		if(isset($_GET["nodetype"])) {
			if($_GET["nodetype"] == 2) { //si on est sur un noeud d'examen
				echo "<h1>Note de \"".$_GET["nodename"]."\"</h1>";
				$noteForm = new formhandler();
				$noteForm->getNoteForm($_SESSION["idEtud"], $_GET["id"]);
			}
			else if($_GET["nodetype"] == 1) { //si on est sur un noeud de module
				echo "<h1>Moyenne de \"".$_GET["nodename"]."\"</h1>";
				$g = new gestionnaireEtuMoy($_SESSION["idEtud"]);
				echo "<fieldset>";
				echo "<table class=\"ddeTable\">";
				echo $g->getTopLines();
				echo $g->getModuleNoteList($_GET["id"]);
				echo "</table></fieldset><br><br>";
				echo $g->getBottomLines("Moyenne sans les notes simul&eacute;es :", $g->getModuleMoy($_GET["id"], false), "Moyenne avec les notes simul&eacute;es :", $g->getModuleMoy($_GET["id"], true));
			}
			else if($_GET["nodetype"] == 0) {
				if(!isset($_GET["special"])) { //cas UE
					echo "<h1>Moyenne de \"".$_GET["nodename"]."\"</h1>";
					$g = new gestionnaireEtuMoy($_SESSION["idEtud"]);
					echo "<fieldset>";
					echo "<table class=\"ddeTable\">";
					echo $g->getTopLines();
					echo $g->getUESummary($_GET["id"]);
					echo "</table></fieldset><br><br>";
					echo $g->getBottomLines("Moyenne sans les notes simul&eacute;es :", $g->getUEMoy($_GET["id"], false), "Moyenne avec les notes simul&eacute;es :", $g->getUEMoy($_GET["id"], true));
				}
				else { //cas parcours
					echo "<h1>Moyenne de \"".$_GET["nodename"]."\"</h1>";
					$g = new gestionnaireEtuMoy($_SESSION["idEtud"]);
					echo "<fieldset>";
					echo "<table class=\"ddeTable\">";
					echo $g->getTopLines();
					echo $g->getParcoursSummary($_GET["id"]);
					echo "</table></fieldset><br><br>";
					echo $g->getBottomLines("Moyenne sans les notes simul&eacute;es :", $g->getParcoursMoy($_GET["id"], false), "Moyenne avec les notes simul&eacute;es :", $g->getParcoursMoy($_GET["id"], true));
				}
			}
		}
		else { //cas etudiant global
			echo "<h1>Moyenne de l'&eacute;tudiant</h1>";
			$g = new gestionnaireEtuMoy($_SESSION["idEtud"]);
			echo "<fieldset>";
			echo "<table class=\"ddeTable\">";
			echo $g->getTopLines();
			echo $g->getEtuSummary();
			echo "</table></fieldset><br><br>";
			echo $g->getBottomLines("Moyenne sans les notes simul&eacute;es :", $g->getEtuMoy(false), "Moyenne avec les notes simul&eacute;es :", $g->getEtuMoy(true));
		}
		
	?>
</div>
<?php
	
	layout::displayPageFooter();
	
?>
